Rust 结构体
Rust 元组组合了多个类型,但是只能依赖于这些字段的顺序来访问,所以不够直观。
阐述
结构体是多个字段的集合,每个字段有一个名称和类型声明。
结构体初始化时需要提供各个字段的值;可以通过 .
操作符访问字段的值,也可以修改它们。
结构体可以通过更新语法来创建新的结构体实例。
元组结构体
如果希望有一个整体名称,又不关心里面字段的名称,可以省略字段的名称。
单元结构体
单元结构体是没有字段的结构体,可以用于只关心行为不关心内容的时候。
实例
一个用户类型的定义:
struct User {
active: bool,
username: String,
email: String,
sign_in_count: u64,
}
let user2 = User {
email: String::from("[email protected]"),
..user1
};
元组结构体:
struct Color(i32, i32, i32);
struct Point(i32, i32, i32);
let black = Color(0, 0, 0);
let origin = Point(0, 0, 0);
性质
调试输出
结构体可以通过 #[derive(Debug)]
的方式来方便地调试输出。
##[derive(Debug)]
struct Rectangle {
width: u32,
height: u32,
}
fn main() {
let rect1 = Rectangle {
width: 30,
height: 50,
};
println!("rect1 is {:?}", rect1);
dbg!(&rect1);
}